using System.Collections.Generic;
using Code.Core.StateMachine;
using Code.GameLogic.XianJian.Controller;
using Code.GameLogic.XianJian.XianJianBehavior.MainBehavior;
using QFramework;

namespace Code.GameLogic.XianJian.XianJianBehavior
{
    public class XianJianFms:BaseFsm<XianJianFms>
    {
        public XianJianController xianJianController;

        private XianJian.MainBehavior _mainBehavior;
        private List<AssistBehavior> _assistBehaviors;
        
        
        public override IArchitecture GetArchitecture()
        {
            return MainApp.Interface;
        }

        public override void InitStates()
        {
            xianJianController = GetComment<XianJianController>();
            _mainBehavior = xianJianController.bo.MainBehavior;
            State<XianJianFms> initXianJianBehaviorForCode = BehaviorLoader.InitXianJianBehaviorForCode(_mainBehavior.Skill);
            AddState<Wait1>();
            AddState(initXianJianBehaviorForCode);
            SwitchState(initXianJianBehaviorForCode.GetType());
            
            // _xianJianController.bo.AssistBehaviors.ForEach(e=>
            //     AddState(BehaviorLoader.InitXianJianBehaviorForCode(e.Skill))
            // );

        }

        public override void InitTFsm()
        {
            tFsm = this;
        }
        
        
        
        
        
        
        
    }
}